import java.io.Serializable;
import java.util.HashSet;
import java.util.Observable;


public class Article  extends Document  implements Serializable  {

	// ************************************************************************************************************
	// Constantes
	// ************************************************************************************************************

	private static final long serialVersionUID = 1L;
	
	// ************************************************************************************************************
	// Attributs
	// ************************************************************************************************************
	
	private int _numPage;
	private String _titre;
	
	// Attributs d'Association
	
	private Parution _parution;
	
		// ************************************************************************************************************
		// Constructeur
		// ************************************************************************************************************
		/**
		 * Constructeur. Crée un article .
		 * 
		 * @param numPage	Objet periodique auquel associer la parution
		 * @param titre	Numero de la parution
		 * @param parution	Objet parution auquel associer l'article
		 */
		public Article(int numPage, String titre, Parution parution,HashSet<Auteur> a,HashSet<MotCle> c,HashSet<MotTitre> mt) {
			super(a,mt,c);
			this.setNumPage(numPage);
			this.setTitre(titre);
			this.setParution(parution);
			
		} // Fin Constructeur
	
	
		// Affecteurs
	
			/**
			 * setter de l'attribut numPage
			 * @param numPage valeur à affecter à la page de debut de l'article
			 */
			public void setNumPage(int numPage){
				_numPage = numPage;
			}
			
			/**
			 * setter de l'attribut titre
			 * @param titre valeur à affecter au titre de l'article
			 */
			public void setTitre(String titre){
				_titre = titre;
			}
			/**
			 * setter de l'attribut parution
			 * @param parution à affecter à l'article
			 */
			public void setParution(Parution parution) {
				_parution = parution;
			}
			
			// ------------------------------------------------------------------------------------------------------------
			// Accesseurs
			
			/**
			 * Getter du numero de page de l'article.
			 * @return le numero de la page
			 */
			public int getNumPage() {
				return _numPage;
			}

			/**
			 * Getter du titre
			 * @return titre de l'article
			 */
			public String getTitre() {
				return _titre;
			}

			/**
			 * getter de la parution de l'article.
			 * @return la parution de l'article
			 */
			public Parution getParution() {
				return _parution;
			} 
	
	
} // Fin Classe Article
